home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 1.iso / games / yowsrc12.zip / YOWDLGS.C < prev    next >
C/C++ Source or Header  |  1992-01-24  |  3KB  |  152 lines

  1. //
  2. // YOWDLGS - yow! dialogs!
  3. //
  4. // Version: 1.0 Copyright (C) 1991, Lantern Corp.
  5. // Author: Edward Hutchins
  6. // Revisions:
  7. //
  8.  
  9. #include "yow.h"
  10.  
  11. //
  12. // defines
  13. //
  14.  
  15. #define YOW_HELP \
  16. "This program is a graphical user interface version of fortune type " \
  17. "programs. When you hold down the right mouse button or a key on Zippy, " \
  18. "he will randomly look up an ASCII database by line, or by groups of " \
  19. "lines if the end of line/group character is given."
  20. #define YOW_HELPSTYLE (MB_OK | MB_ICONASTERISK)
  21.  
  22. //
  23. // imports
  24. //
  25.  
  26. IMPORT HANDLE   hAppInst FROM( yow.c );
  27. IMPORT HWND     hAppWnd FROM( yow.c );
  28. IMPORT CHAR     szAppName[8] FROM( yow.c );
  29. IMPORT CHAR     szDBase[FILENAME_SIZE] FROM( yow.c );
  30. IMPORT CHAR     szEndChar[2] FROM( yow.c );
  31.  
  32. //
  33. // YowOptionsDlg - options dialog proc
  34. //
  35.  
  36. BOOL FAR PASCAL EXPORT YowOptionsDlg( HWND hDlg, WORD mess,
  37.                                       WORD wParam, LONG lParam )
  38. {
  39.     switch (mess)
  40.     {
  41.     case WM_INITDIALOG:
  42.         SetDlgItemText( hDlg, IDD_O_DBASE, szDBase );
  43.         SetDlgItemText( hDlg, IDD_O_ENDCHAR, szEndChar );
  44.         break;
  45.  
  46.     case WM_COMMAND:
  47.         switch (wParam)
  48.         {
  49.         case IDOK:
  50.             GetDlgItemText( hDlg, IDD_O_DBASE, szDBase, sizeof(szDBase) );
  51.             GetDlgItemText( hDlg, IDD_O_ENDCHAR, szEndChar, sizeof(szEndChar) );
  52.             EndDialog( hDlg, TRUE );
  53.             break;
  54.  
  55.         case IDCANCEL:
  56.             EndDialog( hDlg, FALSE );
  57.             break;
  58.  
  59.         default:
  60.             return( FALSE );
  61.         }
  62.         break;
  63.  
  64.     case WM_CLOSE:
  65.         EndDialog( hDlg, FALSE );
  66.         break;
  67.  
  68.     default:
  69.         return( FALSE );
  70.     }
  71.     return( TRUE );
  72. }
  73.  
  74. //
  75. // SetYowOptions - set zippy's options
  76. //
  77.  
  78. VOID FAR PASCAL SetYowOptions( HWND hWnd )
  79. {
  80.     FARPROC lpProc = MakeProcInstance( YowOptionsDlg, hAppInst );
  81.     BOOL bUpdate = DialogBox( hAppInst, MAKEINTRESOURCE( IDD_OPTIONS ),
  82.                               hWnd, lpProc );
  83.     FreeProcInstance( lpProc );
  84.     if (bUpdate)
  85.     {
  86.         CHAR szProp[40];
  87.         LoadString( hAppInst, IDS_PRPDEFDBASE, szProp, sizeof(szProp) );
  88.         WriteProfileString( szAppName, szProp, szDBase );
  89.         LoadString( hAppInst, IDS_PRPDEFENDCHAR, szProp, sizeof(szProp) );
  90.         WriteProfileString( szAppName, szProp, szEndChar );
  91.     }
  92. }
  93.  
  94. //
  95. // YowHelp - show help
  96. //
  97.  
  98. VOID FAR PASCAL YowHelp( HWND hWnd )
  99. {
  100.     MessageBox( hWnd, YOW_HELP, "Yow! Help!", YOW_HELPSTYLE );
  101. }
  102.  
  103. //
  104. // YowAboutDlg - the about box proc
  105. //
  106.  
  107. BOOL FAR PASCAL EXPORT YowAboutDlg( HWND hDlg, WORD mess,
  108.                                     WORD wParam, LONG lParam )
  109. {
  110.     switch (mess)
  111.     {
  112.     case WM_INITDIALOG:
  113.         break;
  114.  
  115.     case WM_COMMAND:
  116.         switch (wParam)
  117.         {
  118.         case IDD_A_HELP:
  119.             YowHelp( hDlg );
  120.             // fall through...
  121.         case IDOK:
  122.             EndDialog( hDlg, 0 );
  123.             break;
  124.  
  125.         default:
  126.             return( FALSE );
  127.         }
  128.         break;
  129.  
  130.     case WM_CLOSE:
  131.         EndDialog( hDlg, FALSE );
  132.         break;
  133.  
  134.     default:
  135.         return( FALSE );
  136.     }
  137.     return( TRUE );
  138. }
  139.  
  140. //
  141. // AboutYow - show the about box
  142. //
  143.  
  144. VOID FAR PASCAL AboutYow( HWND hWnd )
  145. {
  146.     FARPROC lpprocAbout = MakeProcInstance( YowAboutDlg, hAppInst );
  147.     DialogBox( hAppInst, MAKEINTRESOURCE( IDD_ABOUT ),
  148.                hWnd, lpprocAbout );
  149.     FreeProcInstance( lpprocAbout );
  150. }
  151.  
  152.